package com.xiaoyung.easyisapisdk.common.workflow.request;

import com.alibaba.fastjson2.JSONObject;

//import io.swagger.annotations.ApiModelProperty;

public class AsyncStartFlowParam{
	// JSONObject startMsg=new JSONObject();
			// 三种启动方式(传入一个就行): 流程定义ID 流程KEY 启动消息
			// processDefinitionId processDefinitionKey startMessage
			// tenantId 租户ID(必须的)
			// businessKey(可选) tableId:recordId 形式 业务key
			// processInstanceName(可选) 流程实例名称 例如: 张三的请假记录20200101001
			// userName 账号(可选)
			// user 启动的用户对象(可选)
			// params 流程参数Map形式(可选)

			/*startMsg.put("processDefinitionId", processDefinitionId);
			startMsg.put("processDefinitionKey", processDefinitionKey);
			startMsg.put("startMessage", startMessage);
			startMsg.put("tenantId", TokenUtil.tenantId);
			startMsg.put("businessKey", businessKey);
			startMsg.put("processInstanceName", processInstanceName);
			startMsg.put("userName", userName);
			startMsg.put("user", user);
			startMsg.put("params", params);*/
	
	
	//@ApiModelProperty(value = "流程定义id (三种启动方式(传入一个就行): 流程定义ID 流程KEY 启动消息)")
	private String processDefinitionId;
	
	//@ApiModelProperty(value = "流程key (三种启动方式(传入一个就行): 流程定义ID 流程KEY 启动消息)")
	private String processDefinitionKey;
	
	//@ApiModelProperty(value = "启动消息 (三种启动方式(传入一个就行): 流程定义ID 流程KEY 启动消息)")
	private String startMessage;
	
	
	//@ApiModelProperty(value = "业务key",example = "tableId:recordId:submit")
	private String businessKey;
	
	//@ApiModelProperty(value = "流程实例名")
	private String processInstanceName;
	
	//@ApiModelProperty(value = "流程实发起人")
	private String userName;
	
	//@ApiModelProperty(value = "发起人信息(可以不传入)")
	private JSONObject user;
	
	//@ApiModelProperty(value = "流程参数(可以不传入)")
	private JSONObject params;
	
	//@ApiModelProperty(value = "分组id,同一组的可以保证顺序(可以不传入)")
	private String groupId;
	
	public String getProcessDefinitionId() {
		return processDefinitionId;
	}

	public void setProcessDefinitionId(String processDefinitionId) {
		this.processDefinitionId = processDefinitionId;
	}

	public String getProcessDefinitionKey() {
		return processDefinitionKey;
	}

	public void setProcessDefinitionKey(String processDefinitionKey) {
		this.processDefinitionKey = processDefinitionKey;
	}

	public String getStartMessage() {
		return startMessage;
	}

	public void setStartMessage(String startMessage) {
		this.startMessage = startMessage;
	}

	public String getBusinessKey() {
		return businessKey;
	}

	public void setBusinessKey(String businessKey) {
		this.businessKey = businessKey;
	}

	public String getProcessInstanceName() {
		return processInstanceName;
	}

	public void setProcessInstanceName(String processInstanceName) {
		this.processInstanceName = processInstanceName;
	}

	public String getUserName() {
		return userName;
	}

	public void setUserName(String userName) {
		this.userName = userName;
	}

	public JSONObject getUser() {
		return user;
	}

	public void setUser(JSONObject user) {
		this.user = user;
	}

	public JSONObject getParams() {
		return params;
	}

	public void setParams(JSONObject params) {
		this.params = params;
	}

	public String getGroupId() {
		return groupId;
	}

	public void setGroupId(String groupId) {
		this.groupId = groupId;
	}

	
}

